#ifndef VIEWPOINT_H
#define VIEWPOINT_H

#include "ToolBox/gl/ViewPoints/Projections/projection.h"
#include "ToolBox/gl/ViewPoints/Projections/ortho.h"
#include "ToolBox/gl/ViewPoints/Projections/persepective.h"

#include <GL/glew.h>
#include "ToolBox/vectorf.h"

/*!
 *      \class ViewPoint
 *      \brief : Classe utilisé pour représenter une caméra dans l'espace opengl
 *               Il existe 2 type de caméra : une pour un espace 3D, associé à une projection en perspective, et une
 *               pour un espace 2D, associé à la projection orthogonale
 */

class ViewPoint
{
    public :

    ViewPoint();

    /*!
     *  \fn Use
     *  \brief Exécute les transformations nécéssaire pour simuler une caméra
     */

    virtual void Use()=0;
};

#endif
